package wrapper;

/**
 * 自动拆装箱
 * JDK1.5出现时出现了一个新特性:自动拆装箱
 * 自动装箱:把基本数据类型转换为对应的包装类对象
 * 自动拆箱:把包装类对象转换为对应的基本数据类型
 */
public class IntegerDemo3 {
    public static void main(String[] args) {
        int i = 10;
        /*
            触发了编译器的自动装箱特性:
            编译器编译代码时发现将一个基本类型赋值给引用类型时，会自动补充代码
            将它转换为对应的包装类，下面的代码会被编译器改为:
            Integer in = Integer.valueOf(i);
            在字节码文件中呈现上述样子
         */
        Integer in = i;
        /*
            触发了编译器的自动拆箱特性:
            编译器会将下面的代码改为:
            int d = in.intValue();
         */
        int d = in;
    }
}
